#ifndef INDICEDOCUMENTOS_H_
#define INDICEDOCUMENTOS_H_

#pragma once
#include <stdint.h>
#include "Archivo.h"

typedef struct {
	uint32_t nroDoc;
	uint32_t offset;
} Registro;

class IndiceDocumentos: public Archivo {
public:
	IndiceDocumentos(const char* filename):Archivo(filename) {
	}

	void add(uint32_t nroDoc, uint32_t offset) {
		Registro r;
		r.nroDoc = nroDoc;
		r.offset = offset;

		this->write((char*) &r, sizeof(Registro));
	}

	uint32_t getOffset(uint32_t nroDoc) {
		Registro r;

		int offset = nroDoc * sizeof(Registro);
		this->seekg(offset, ios::beg);
		this->read((char*)&r, sizeof(Registro));

		// Prueba..
		cout << "Offset: " << r.offset << endl;

		return r.offset;
	}

	~IndiceDocumentos() {
		this->close();
	}

};

#endif /* INDICEDOCUMENTOS_H_ */
